package com.beyond.trace.domain;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.Size;

/**
 * 基地信息对象 t_trace_base
 * 
 * @author yao
 * @date 2022-03-02
 */
@Data
@TableName("t_trace_base")
public class TraceBase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(value = "base_id", type = IdType.ASSIGN_ID)
    @JsonSerialize(using= ToStringSerializer.class)
    private Long baseId;

    /** 基地编号 */
    @Excel(name = "基地编号")
    @ApiModelProperty(value = "基地编号")
    private String baseNo;

    /** 基地名称 */
    @Excel(name = "基地名称")
    @ApiModelProperty(value = "基地名称")
    private String baseName;

    /** 基地地址 */
    @Excel(name = "基地地址")
    @ApiModelProperty(value = "基地地址")
    private String baseAddress;

    /** 基地地区 */
    @Excel(name = "基地地区")
    @ApiModelProperty(value = "基地地区")
    private String baseRegion;

    /** 经度 */
    @Excel(name = "经度")
    @ApiModelProperty(value = "经度")
    private BigDecimal baseLongitude;

    /** 纬度 */
    @Excel(name = "纬度")
    @ApiModelProperty(value = "纬度")
    private BigDecimal baseLatitude;

    /** 基地面积 */
    @Excel(name = "基地面积")
    @ApiModelProperty(value = "基地面积")
    private String baseArea;

    /** 海拔高度 */
    @Excel(name = "海拔高度")
    @ApiModelProperty(value = "海拔高度")
    private String baseElevation;

    /** 气候条件 */
    @Excel(name = "气候条件")
    @ApiModelProperty(value = "气候条件")
    private String baseWeather;

    /** 土壤类型 */
    @Excel(name = "土壤类型")
    @ApiModelProperty(value = "土壤类型")
    private String baseSoil;

    /** 基地主要种植植物 */
    @Excel(name = "基地主要种植植物")
    @ApiModelProperty(value = "基地主要种植植物")
    private String basePlant;

    /** 负责人 */
    @Excel(name = "负责人")
    @ApiModelProperty(value = "负责人")
    private String basePerson;

    /** 负责人联系方式 */
    @Excel(name = "负责人联系方式")
    @ApiModelProperty(value = "负责人联系方式")
    private String basePersonPhone;

    /** 基地图片 */
    @Excel(name = "基地图片")
    @ApiModelProperty(value = "基地图片")
    private String basePic;

    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    private String remark;

    @Excel(name = "部门id")
    @ApiModelProperty(value = "部门id")
    @JsonIgnore
    private String departId;

    /** 评估等级 */
    @ApiModelProperty(name = "评估等级",notes = "")
    @TableField(exist = false)
    private String assessmentLevel ;
    /** 基地性质 */
    @ApiModelProperty(name = "基地性质",notes = "")
    @TableField(exist = false)
    private String baseNature ;

    /** 视频首页图 */
    @ApiModelProperty(name = "视频首页图",notes = "")
    @TableField(exist = false)
    private String videoPic ;
    /** 基地视频 */
    @ApiModelProperty(name = "基地视频",notes = "")
    @TableField(exist = false)
    private String video ;
    /** 基地所属行政区 */
    @ApiModelProperty(name = "基地所属行政区",notes = "")
    @TableField(exist = false)
    private String baseAdministrativeRegion ;

    @TableField(exist = false)
    private String token;

    @TableField(exist = false)
    private String userId;


    public Long getBaseId() {
        return baseId;
    }

    public void setBaseId(Long baseId) {
        this.baseId = baseId;
    }

    public String getBaseNo() {
        return baseNo;
    }

    public void setBaseNo(String baseNo) {
        this.baseNo = baseNo;
    }

    public String getBaseName() {
        return baseName;
    }

    public void setBaseName(String baseName) {
        this.baseName = baseName;
    }

    public String getBaseAddress() {
        return baseAddress;
    }

    public void setBaseAddress(String baseAddress) {
        this.baseAddress = baseAddress;
    }

    public BigDecimal getBaseLongitude() {
        return baseLongitude;
    }

    public void setBaseLongitude(BigDecimal baseLongitude) {
        this.baseLongitude = baseLongitude;
    }

    public BigDecimal getBaseLatitude() {
        return baseLatitude;
    }

    public void setBaseLatitude(BigDecimal baseLatitude) {
        this.baseLatitude = baseLatitude;
    }

    public String getBaseArea() {
        return baseArea;
    }

    public void setBaseArea(String baseArea) {
        this.baseArea = baseArea;
    }

    public String getBaseElevation() {
        return baseElevation;
    }

    public void setBaseElevation(String baseElevation) {
        this.baseElevation = baseElevation;
    }

    public String getBaseWeather() {
        return baseWeather;
    }

    public void setBaseWeather(String baseWeather) {
        this.baseWeather = baseWeather;
    }

    public String getBaseSoil() {
        return baseSoil;
    }

    public void setBaseSoil(String baseSoil) {
        this.baseSoil = baseSoil;
    }

    public String getBasePlant() {
        return basePlant;
    }

    public void setBasePlant(String basePlant) {
        this.basePlant = basePlant;
    }

    public String getBasePerson() {
        return basePerson;
    }

    public void setBasePerson(String basePerson) {
        this.basePerson = basePerson;
    }

    public String getBasePersonPhone() {
        return basePersonPhone;
    }

    public void setBasePersonPhone(String basePersonPhone) {
        this.basePersonPhone = basePersonPhone;
    }

    public String getBasePic() {
        return basePic;
    }

    public void setBasePic(String basePic) {
        this.basePic = basePic;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getAssessmentLevel() {
        return assessmentLevel;
    }

    public void setAssessmentLevel(String assessmentLevel) {
        this.assessmentLevel = assessmentLevel;
    }

    public String getBaseNature() {
        return baseNature;
    }

    public void setBaseNature(String baseNature) {
        this.baseNature = baseNature;
    }

    public String getVideoPic() {
        return videoPic;
    }

    public void setVideoPic(String videoPic) {
        this.videoPic = videoPic;
    }

    public String getVideo() {
        return video;
    }

    public void setVideo(String video) {
        this.video = video;
    }

    public String getBaseAdministrativeRegion() {
        return baseAdministrativeRegion;
    }

    public void setBaseAdministrativeRegion(String baseAdministrativeRegion) {
        this.baseAdministrativeRegion = baseAdministrativeRegion;
    }

    @Override
    public String toString() {
        return "TraceBase{" +
                "baseId=" + baseId +
                ", baseNo='" + baseNo + '\'' +
                ", baseName='" + baseName + '\'' +
                ", baseAddress='" + baseAddress + '\'' +
                ", baseLongitude=" + baseLongitude +
                ", baseLatitude=" + baseLatitude +
                ", baseArea='" + baseArea + '\'' +
                ", baseElevation='" + baseElevation + '\'' +
                ", baseWeather='" + baseWeather + '\'' +
                ", baseSoil='" + baseSoil + '\'' +
                ", basePlant='" + basePlant + '\'' +
                ", basePerson='" + basePerson + '\'' +
                ", basePersonPhone='" + basePersonPhone + '\'' +
                ", basePic='" + basePic + '\'' +
                ", remark='" + remark + '\'' +
                ", assessmentLevel='" + assessmentLevel + '\'' +
                ", baseNature='" + baseNature + '\'' +
                ", videoPic='" + videoPic + '\'' +
                ", video='" + video + '\'' +
                ", baseAdministrativeRegion='" + baseAdministrativeRegion + '\'' +
                '}';
    }
}
